package com.solarStruggle.domain.stats

import com.solarStruggle.domain.{Engine => EngineBase}

class Thrusters1Stats
extends Engine {
	def researchCost = 0
	def energy = 3
	def description = ""
	def force = 1
	def cost = 500
	def name = "Maneuvering Thrusters I"
	def mass = 1
}

object Thrusters1 extends ShardFactory {
	override def apply() = new Thrusters1Stats()

	override lazy val singleton = new Thrusters1Stats()
}

class Thrusters2Stats
extends Engine {
	def researchCost = 5
	def energy = 3
	def description = ""
	def force = 2
	def cost = 750
	def name = "Maneuvering Thrusters II"
	def mass = 1
}

object Thrusters2 extends ShardFactory {
	override def apply() = new Thrusters2Stats()

	override lazy val singleton = new Thrusters2Stats()
}

class Thrusters3Stats
extends Engine {
	def researchCost = 5
	def energy = 2
	def description = ""
	def force = 2
	def cost = 1000
	def name = "Maneuvering Thrusters III"
	def mass = 1
}

object Thrusters3 extends ShardFactory {
	override def apply() = new Thrusters3Stats()

	override lazy val singleton = new Thrusters3Stats()
}

class Solar1Stats
extends Engine {
	def researchCost = 10
	def energy = 0
	def description = ""
	def force = 3
	def cost = 1000
	def name = "Solar Drives I"
	def mass = 1
}

object Solar1 extends ShardFactory {
	override def apply() = new Solar1Stats()

	override lazy val singleton = new Solar1Stats()
}

class Solar2Stats
extends Engine {
	def researchCost = 5
	def energy = 0
	def description = ""
	def force = 3
	def cost = 1200
	def name = "Solar Drives II"
	def mass = 1
}

object Solar2 extends ShardFactory {
	override def apply() = new Solar2Stats()

	override lazy val singleton = new Solar2Stats()
}

class Solar3Stats
extends Engine {
	def researchCost = 5
	def energy = 0
	def description = ""
	def force = 4
	def cost = 1600
	def name = "Solar Drives III"
	def mass = 1
}

object Solar3 extends ShardFactory {
	override def apply() = new Solar3Stats()

	override lazy val singleton = new Solar3Stats()
}

class LiquidFuel1Stats
extends Engine {
	def researchCost = 5
	def energy = 5
	def description = ""
	def force = 4
	def cost = 1200
	def name = "Liquid Fuel Drives I"
	def mass = 5
}

object LiquidFuel1 extends ShardFactory {
	override def apply() = new LiquidFuel1Stats()

	override lazy val singleton = new LiquidFuel1Stats()
}

class LiquidFuel2Stats
extends Engine {
	def researchCost = 5
	def energy = 5
	def description = ""
	def force = 5
	def cost = 1500
	def name = "Liquid Fuel Drives II"
	def mass = 5
}

object LiquidFuel2 extends ShardFactory {
	override def apply() = new LiquidFuel2Stats()

	override lazy val singleton = new LiquidFuel2Stats()
}

class LiquidFuel3Stats
extends Engine {
	def researchCost = 5
	def energy = 5
	def description = ""
	def force = 6
	def cost = 1750
	def name = "Liquid Fuel Drives III"
	def mass = 4
}

object LiquidFuel3 extends ShardFactory {
	override def apply() = new LiquidFuel3Stats()

	override lazy val singleton = new LiquidFuel3Stats()
}

class WarpDriveStats
extends Engine {
	def researchCost = 15
	def energy = 5
	def description = ""
	def force = 0
	def cost = 10000
	def name = "Warp Drive"
	def mass = 3
}

object WarpDrive extends ShardFactory {
	override def apply() = new WarpDriveStats()

	override lazy val singleton = new WarpDriveStats()
}

